fix 'str' object has no attribute 'astimezone'

FFIB vor 2 Jahren
Ursprung
Commit
8cfeb90432
2 geänderte Dateien mit 26 neuen Zeilen und 1 gelöschten Zeilen
  1. 1 1
      api/eqpt_views.py
  2. 25 0
      equipment/models.py

+ 1 - 1
api/eqpt_views.py

@@ -201,7 +201,7 @@ def get_screen_data(point=None, point_id=None):
201 201
 
202 202
         # ipuis = ipuis.exclude(last_submit_at__range=(start_dt, end_dt), temperature__gt=0.0, temperature__lte=settings.FEVER_TEMPERATURE)
203 203
 
204
-        ipuis = [{**ipui.data, **{
204
+        ipuis = [{**ipui.screen_data, **{
205 205
             field.get('key', ''): protect_user_privacy(field) for field in ipui.fields}} for ipui in ipuis]
206 206
         reminds = [{
207 207
             'name': ipui.get('name'),

+ 25 - 0
equipment/models.py

@@ -267,6 +267,31 @@ class IsolationPointUserInfo(BaseModelMixin):
267 267
         }
268 268
 
269 269
     @property
270
+    def screen_data(self):
271
+        return {
272
+            'pk': self.pk,
273
+            'point_id': self.point_id,
274
+            'user_id': self.user_id,
275
+            'fields': self.fields,
276
+            'observed_days': self.observed_days,
277
+            'temperature_has_upload': self.temperature_has_upload,
278
+            'user_status': self.user_status,
279
+            'temperature': self.temperature,
280
+            'dry_cough_status': self.dry_cough_status,
281
+            'weak_status': self.weak_status,
282
+            'sore_throat_status': self.sore_throat_status,
283
+            'smell_taste_loss_status': self.smell_taste_loss_status,
284
+            'diarrhea_status': self.diarrhea_status,
285
+            'blood_oxygen_saturation': self.blood_oxygen_saturation,
286
+            'is_filled': self.is_filled,
287
+            'last_submit_at': self.last_submit_at,
288
+            'last_report_time': tc.local_string(utc_dt=self.last_submit_at, format='%m-%d %H:%M') if self.last_submit_at else '',
289
+            'remark': self.remark or '',
290
+            'antigen_result': self.get_antigen_result,
291
+            'detect_at': tc.local_string(utc_dt=self.detect_at, format='%m-%d %H:%M') if self.detect_at else '',
292
+        }
293
+
294
+    @property
270 295
     def userdata(self):
271 296
         try:
272 297
             point = IsolationPointInfo.objects.get(point_id=self.point_id)